package com.polaris.live.common.resp

import android.os.Parcelable

/**
 * ServerResultAppConfigVo，服务返回
 *
 * @author Created by 半仙 on 2023/8/15/015 17:15
 */
@kotlinx.parcelize.Parcelize
data class ConfigPreResp(
    /**
     * 配置
     */
    val configs: Map<String, String>? = null,
    /**
     * im的配置
     */
    val imConfig: AppIMConfigVo,
    /**
     * 强制更新版本，如果为空则忽略
     */
    val forceVersion: AppVersionVo? = null
) : Parcelable

/**
 * AppImConfigVo，应用im配置返回
 */
@kotlinx.parcelize.Parcelize
data class AppIMConfigVo(
    /**
     * 消息服务的配置
     */
    val chat: AppIMConfigDto,
    /**
     * 直播服务的配置
     */
    val live: AppIMConfigDto,
    /**
     * 推送服务的配置
     */
    val pusher: AppIMConfigDto
) : Parcelable

/**
 * AppImConfigDto，应用im配置
 */
@kotlinx.parcelize.Parcelize
data class AppIMConfigDto(
    /**
     * 地址
     */
    val host: String,
    /**
     * 端口
     */
    val port: Int,
    /**
     * 区域名称
     */
    val serverName: String
) : Parcelable

/**
 * 版本更新配置
 */
@kotlinx.parcelize.Parcelize
data class AppVersionVo(
    /**
     * 版本号，客户端需要比较该版本，如果当前版本小于该版本则需要更新
     */
    val buildVersion: Int,
    /**
     * 消息内容
     */
    val content: String,
    /**
     * 是否强制更新
     */
    val forceUpdate: Boolean,
    /**
     * 是否仅提示一次
     */
    val promptOnlyOnce: Boolean,
) : Parcelable

